The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
A new paradigm for computing is emerging based on the Internet and the World Wide Web, accompanied by a new standard programming platform based on the Java(tm) technology recently announced by Sun Microsystems [4]. The Java technology includes the definition for a platform-independent byte code representation for small applications called applets, which allows Java-enabled Web browsers to download...
We show how software reliability predictions can increase confidence in the reliability of safety critical software such as the NASA Space Shuttle Primary Avionics Software System (Shuttle flight software). This objective was achieved with our novel approach of integrating software safety criteria, risk analysis, reliability prediction, and a stopping rule for testing. This approach is applicable...
The paper is a tutorial on fault-tolerance by replication in distributed systems. We start by defining linearizability as the correctness criterion for replicated services (or objects), and present the two main classes of replication techniques: primary-backup replication and active replication. We introduce group communication as the infrastructure providing the adequate multicast primitives to implement...
The concurrency facilities within Ada 95 are more comprehensive than in any other language. Through a discussion of three case studies, this paper shows how the language abstractions supported by Ada can be combined to build effective higher-level abstractions. The three examples concern a concurrency problem, a fault tolerance requirement and a scheduling (real-time) issue. Together they illustrate...
A new method for implementing hierarchical object oriented designs of hard real time systems in Ada 95 is described in the paper. The approach is based on the HRT-HOOD method, but it can be extended to other OOD methods as well. Ada child packages are used to implement object aggregation or inclusion hierarchies. Renaming in the body, a new Ada 95 feature, is used to provide efficient mapping of composite...
The phenomenal growth in the costs of producing software over the last three decades has forced the computing industry to look for alternative strategies to that implied by the waterfall model of computer system development. One frequently observed solution is that of reusing the code from previously designed systems in the construction of new ones; this technique is known as software reuse. Ada language...
This paper describes the overall structure of an iterative and incremental development process, and reports the experience learned in its application to a large Ada development: the Hughes Air Traffic System.
Hughes Canada has been involved with the development of the Canadian Automated Air Traffic Control System (CAATS) software since 1993. The program, originally estimated to be over a million lines of Ada code, has evolved from prototyping concepts and requirements to producing operational software. This paper describes the evolution of the procedures for software development. We explain the reasons...
The architecture of a system expresses the structural aspects of the system — the modules, the control structure, communication design, sharing of data and composition of modules. The architecture of a complex software system is a significant issue in the proper design, analysis and possibility of reuse of the software system. This paper describes how the architecture of an Ada program may...
Tasking deadlock is one of the most serious and complex problems concerning the reliability of concurrent systems with Ada. In this paper, tasking deadlocks which may occur in Ada 95 programs are investigated, a representation, named the Task-Wait-For Graph, for task synchronization waiting state of an Ada 95 program is proposed, and a run-time detection method for the tasking deadlocks based on the...
Subdomain testing is a very general approach to the selection of test cases. It captures the characteristics of testing strategies that require the test suite to cover some predefined testing requirements. This paper attempts to characterise precisely the failure distributions for the best and worst case of any given subdomain testing strategy. Our analysis has revealed some crucial factors and principles...
In this paper we develop a framework for semi-automated generation of test cases for object oriented programs from formal specifications. “We use Object-Z as the formal specification language. We have designed and prototyped a test system called OℤTEST. It understands the characteristics of object-oriented specifications including inheritance. OℤTEST maps the specification to a corresponding...
In this paper we discuss how the suitability of Ada95 for use in critical systems is being assessed. We will describe our framework and provide examples of assessing specific Ada constructs within the terms of the framework.
This paper examines both the potential and the limitations of automatic static analysis in the verification of safety-critical Ada software. It provides a critical assessment of a specific analysis tool (the SPARK Examiner) using a concrete example program. Based on me criticism, some basic requirements for a static analysis tool supporting Ada applications are outlined.
This document describes an implementation of secure communication for distributed applications in Ada 95. It explains the basics of cryptography and introduces the problem of key exchange. After a brief description of distributed systems in Ada 95, the modular structure of the implementation and the way it handles key distribution is presented.
This paper describes an implementation of Linda for Ada 95. The new capabilities of object oriented programming and programming by extension are used to define an elegant, type safe and easy to use interface to Linda. The implementation provides more of the functionality of Linda than Ada-Linda for Ada 83. A short presentation of the Linda model and a programming example are also included...
This paper describes a method to implement the functionality of shared passive packages on top of a logical distributed memory — Linda. From a shared passive package a compiler can construct a new normal package that replaces the shared passive package. The new package contains the same subprograms and is extended with abstract data structures mapping Ada objects onto the storage units of Linda. A short program example is included to illustrate the construction process...
This paper describes Drago, an experimental language designed to support the implementation of fault-tolerant distributed applications. The language is the result of an effort to impose discipline and give linguistic support to the main concepts of Isis, as well as to experiment with the group communication paradigm. Drago has been designed and implemented as an extension to Ada 83. In this paper...
This paper presents several alternative Ada 95 solutions to the classical “Dining Philosophers” problem. These examples illustrate a number of new Ada 95 tasking features including protected types, entry barriers dependent on an entry family index, the requeue statement, and asynchronous transfer of control. The paper compares the approaches with respect to style, portability, and performance.
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.